home *** CD-ROM | disk | FTP | other *** search
/ Rockford Magazine / Rockford_Magazine_037_19xx_-_de_Side_A.d64 / 1571.d64->1541 1 (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  10KB  |  310 lines

  1. 1000 goto1110
  2. 1010 poke52,112:poke56,112:clr:gosub3480:print"
  3. 1020 [151]828,[194](29712):[151]829,[194](29713):[151]840,[194](840)[170]1
  4. 1030 zm[178][194](29720)[170][194](29721)[172]256
  5. 1040 ac[178][194](29722)[170][194](29723)[172]256
  6. 1050 zg[178][194](29730)[170][194](29731)[172]256
  7. 1060 tg[178][194](29732)
  8. 1070 sg[178][194](29733)
  9. 1080 dm[178][194](828):dg[178][194](829)
  10. 1090 vh[178][194](29714)[170][194](29715)[172]256
  11. 1100 [137]2460
  12. 1110 [143] $fb=zaehler f.flackern pro byte
  13. 1120 [143] $fc,fd=vector
  14. 1130 [143] $fe=highbyte vector am anfang
  15. 1140 [153]"loadstr$ieses (NULL)ool kopiert '.d64' -asciles von
  16. 1150 print"5.25"chr$(34)"-[201][194][205]-[208][195]-[196]isks von einer 1571 (eine
  17. 1160 [153]"1541 geht leider nicht) auf eine
  18. 1170 print"formatierte 1541 [195][194][205]-[196]isk. [197]s laeft mit
  19. 1180 [153]"einem len64 und einer 1571, besser ist
  20. 1190 print"aber noch eine zusaetzliche 1541, um
  21. 1200 [153]"den 6-fachen str$iskwechsel zu sparen.
  22. 1210 print"[215]eil es die original [203]ernal [210]outinen
  23. 1220 [153]"benutzt, ist es etwas langsam:ca.25min,
  24. 1230 print"muesste dafuer aber mit allen [194]etriebs-
  25. 1240 [153]"systemen laufen. str$ie original lenpeek(NULL)
  26. 1250 print"[201][197][195]-[201][206] [210]outine meines [195]64 von 1983
  27. 1260 [153]"haengt sich beim peeketrieb mit der 1571
  28. 1270 print"im 2[205][200]z-[205]odus manchmal auf, was man am
  29. 1280 [153]"ausbleibendem (NULL)treifen erkennt. (NULL)assiert
  30. 1290 print"[145]dies bevor man das [198]ile ausgewaehlt hat,
  31. 1300 [153]"onmuss neu gestartet werden. (NULL)assiert dies
  32. 1310 print"[145]waehrend des [203]opierens muss man nur ca.
  33. 1320 [153]"10 (NULL)ec. warten, dann startet das (NULL)ro-
  34. 1330 print"gramm automatisch wieder.
  35. 1340 [153]"!!!  str$ie (NULL)eilen 1000 und 1010 duerfen
  36. 1350 print"nicht 'renumberd' werden.  !!!
  37. 1360 [153]"(NULL)orher am (NULL)len: 5.25-str$str$-str$isk (keine left$str$)
  38. 1370 print"mit 360k[194] formatieren. .d64-[198]ile von
  39. 1380 [153]"lenstr$-(NULL)(NULL)(NULL) auf diese str$isk kopieren. ";
  40. 1390 [151]52,112:[151]56,112:[156]
  41. 1400 [141]3480
  42. 1410 [151]840,0
  43. 1420 i[178]0
  44. 1430 [135]a:[139]a[179][177][171]1[167][151]28672[170]i,a:i[178]i[170]1:[137]1430
  45. 1440 [151]251,za
  46. 1450 i[178]0
  47. 1460 [135]a:[139]a[179][177][171]2[167][151]28928[170]i,a:i[178]i[170]1:[137]1460
  48. 1470 i[178]0
  49. 1480 [135]a:[139]a[179][177][171]3[167][151]29184[170]i,a:i[178]i[170]1:[137]1480
  50. 1490 i[178]0
  51. 1500 [135]a:[139]a[179][177][171]4[167][151]29440[170]i,a:i[178]i[170]1:[137]1500
  52. 1510 i[178]0
  53. 1520 [135]a:[139]a[179][177][171]5[167][151]30023[170]i,a:i[178]i[170]1:[137]1520
  54. 1530 [153]"<(NULL)aste>onon":[151]198,0:[146]198,1:[151]198,0
  55. 1540 [153]"loadascreeware von
  56. 1550 print"[206]ear [204]etter [209]uantity
  57. 1560 [153]"mid$ochen atndler
  58. 1570 print"[200]aeldestr.11
  59. 1580 [153]"str$-74912 (NULL)irchardt
  60. 1590 print"fuer
  61. 1600 [153]"(NULL)ockford-ascstr$ (NULL)erie
  62. 1610 print"[193]lex [218][207][208]
  63. 1620 [153]"atnmselweg 1
  64. 1630 print"[196]-85293 [210]eichertshausen
  65. 1640 [129]i[178]8[164]11
  66. 1650 [159]15,i,15:[160]15:[139]st[179][177]0[167]1680
  67. 1660 [159]15,i,15,"ui":[132]15,e1,e2$:[160]15
  68. 1670 [139][201](e2$,4)[178]"1571"[167]dm[178]i:i[178]11
  69. 1680 [130]
  70. 1690 [153]"1571 str$evicenummer ((NULL)asc(NULL))  "dm;:[133]"cmdcmdcmdcmdcmd";dm
  71. 1700 a[178]0:[129]i[178]8[164]11
  72. 1710 [159]15,i,15:[160]15:[139]st[179][177]0[167]1750
  73. 1720 [159]15,i,15,"ui":[132]15,e1,e2$:[160]15:a$[178][201](e2$,4)
  74. 1730 [139]a$[179][177]"1541"[175]a$[179][177]"1570"[175]a$[179][177]"1571"[167]1750
  75. 1740 a[178]1:[139]i[179][177]dm[167]dg[178]i:i[178]11
  76. 1750 [130]
  77. 1760 [139]dg[177]0[167]1780
  78. 1770 [139]a[178]1[167]dg[178]dm
  79. 1780 [153]"1541 str$evicenummer (chr$len(NULL))  "dg;:[133]"cmdcmdcmdcmdcmd";dg
  80. 1790 [151]828,dm:[151]829,dg:[151]29712,dm:[151]29713,dg
  81. 1800 [153]"360kpeek-right$peek(NULL)-(NULL)len-(NULL)asc(NULL)-str$isk in (NULL)aufwerk"dm"    einlegen         <(NULL)aste>
  82. 1810 poke198,0:wait198,1:geta$
  83. 1820 open15,dm,15
  84. 1830 print#15,"u0>m1":rem 1571-modus
  85. 1840 a=fre(0):print""a-(a<0)*65536"[194]asic [194]ytes free
  86. 1850 [153]"u0>m1         ":[141]3200
  87. 1860 [152]15,"u0"[199](4):[143] inquire dis
  88. 1870 [153]"right$nquire str$isk  ":[141]3200
  89. 1880 [139]e5[177]128[167]1900
  90. 1890 [153]"(NULL)eine (NULL)asc(NULL) str$isk":[152]15,"ui":[128]
  91. 1900 [153]"(NULL)ese peekoot peeklock
  92. 1910 tr=0:se=1:si=0:ah=128:gosub3300
  93. 1920 print"[203]ennung            ";
  94. 1930 fori=32771to32778:printchr$(peek(i));:next:print
  95. 1940 print"[211]ektorlaenge      "peek(32779)+peek(32780)*256
  96. 1950 print"[211]kt.pro [195]luster   "peek(32781)
  97. 1960 print"[210]eserviert.[211]ek.   "peek(32782)+peek(32783)*256
  98. 1970 print"[203]opien d.[198][193][212]      "peek(32784)
  99. 1980 print"[197]intr.i.[200]auptverz."peek(32785)+peek(32786)*256
  100. 1990 print"[211]ektoren          "peek(32787)+peek(32788)*256
  101. 2000 mb=peek(32789):print"[205]edium [194]yte       "mb;
  102. 2010 ifmb=252thenprint"180k[194] (1s  9[211]/[212])
  103. 2020 [139]mb[178]253[167][153]"360kpeek (2s  9(NULL)/(NULL))
  104. 2030 ifmb=254thenprint"160k[194] (1s  8[211]/[212])
  105. 2040 [139]mb[178]255[167][153]"320kpeek (2s  8(NULL)/(NULL))
  106. 2050 print"[204]aenge d.[198][193][212]      "peek(32790)+peek(32791)*256
  107. 2060 ifmb<>253thenprint"[198]alsches [198]ormat"print#15,"ui":end
  108. 2070 tr=0:se=6:si=0:ah=128:zd=0
  109. 2080 print"[204]ese"int(zd/16)+1"[157].[196]ir [194]lock
  110. 2090 dv[178]0
  111. 2100 [141]3300
  112. 2110 [153]""zd[170]1"cmd.ascile:     ";
  113. 2120 [129]i[178]32768[170]dv[164]32775[170]dv:a$[178][199]([194](i)):[139]a$[179][177]" "[167][153]a$;
  114. 2130 [130]
  115. 2140 [153]".";:[129]i[178]32776[170]dv[164]32778[170]dv:[153][199]([194](i));:[130]
  116. 2150 fl[178][194](32796[170]dv)[170][194](32797[170]dv)[172]256
  117. 2160 fl[178]fl[170][194](32798[170]dv)[172]65536[170][194](32799[170]dv)[172]16777216
  118. 2170 [153]"   "fl"peekyte
  119. 2180 ifpeek(32776)=68andpeek(32777)=54andpeek(32778)=52andfl=174848then2200
  120. 2190 print"kein .d64-[198]ile":goto2230
  121. 2200 print"[211]oll dieses [198]ile kopiert werden (j/n)
  122. 2210 [146]198,1:[161]a$:[139]a$[179][177]"j"[175]a$[179][177]"n"[167]2200
  123. 2220 [139]a$[178]"j"[167]2270
  124. 2230 zd[178]zd[170]1:dv[178]dv[170]32:[139]dv[179]512[167]2110
  125. 2240 se[178]se[170]1:[139]se[178]10[167]se[178]1:si[178]1
  126. 2250 [139]se[179][177]4[167]2080
  127. 2260 [152]15,"ui":[128]
  128. 2270 [153]"(NULL)ese ascatn(NULL)1 / 1.left$aelfte
  129. 2280 tr=0:se=2:si=0:ah=130:gosub3300
  130. 2290 print"[204]ese [198][193][212]1 / 2.[200]aelfte
  131. 2300 tr[178]0:se[178]3:si[178]0:ah[178]132:[141]3300
  132. 2310 ac[178][194](32794[170]dv)[170][194](32795[170]dv)[172]256:[143]                  aktueller cluster
  133. 2320 [139]dm[178]dg[167]2360
  134. 2330 [153]"(NULL)egen (NULL)ie die (NULL)ieldiskette in str$rive"dg:[153]"  <(NULL)aste>
  135. 2340 poke198,0:wait198,1:geta$
  136. 2350 rem------------------------------------------------------------------------
  137. 2360 tg=1:rem track gcr
  138. 2370 sg=0:rem sektor gcr
  139. 2380 zm=0:rem zaehler mfm cluster
  140. 2390 zg=0:rem zaehler gcr bloecke
  141. 2400 vh=140:rem vektor high auf 8c00
  142. 2410 goto2470
  143. 2420 rem------------------------------------------------------------------------
  144. 2430 rem  ac=aktuell zu ladender cluster
  145. 2440 vh=140:rem vektor high auf $8c00
  146. 2450 ifdm=dgthenprint"[201][194][205]-[205][198][205]-[196]isk einlegen <[212]aste>":poke198,0:wait198,1:geta$
  147. 2460 open15,dm,15,"u0>m1
  148. 2470 a[178][184](0):[153]""a[171](a[179]0)[172]65536"peekasic peekytes free
  149. 2480 poke29732,tg
  150. 2490 poke29733,sg
  151. 2500 poke29730,zgand255
  152. 2510 poke29731,int(zg/256)
  153. 2520 print#15,"u0"chr$(4):rem inquire dis
  154. 2530 ifdm<>dgthen2560
  155. 2540 print#15,"m-r"chr$(94)chr$(0):get#15,a$:e5=asc(a$+chr$(0))
  156. 2550 ife5<128thenclose15:goto2450
  157. 2560 ifvh>252then2640
  158. 2570 poke29714,vhand255
  159. 2580 poke29715,int(vh/256)
  160. 2590 poke29720,zmand255
  161. 2600 poke29721,int(zm/256)
  162. 2610 poke29722,acand255
  163. 2620 poke29723,int(ac/256)
  164. 2630 rem------------------------------------------------------------------------
  165. 2640 b=ac+4:rem offset f.syst-bereich
  166. 2650 c=b*2:rem 2sekt.pro cluster      c=wievielter sektor von anfang an gezaehlt
  167. 2660 tr=int(c/18)
  168. 2670 si=int((c-tr*18)/9)
  169. 2680 se=(c-tr*18)-(si*9)+1
  170. 2690 poke56591,89:poke56590,145:poke793,117
  171. 2700 ah=128:gosub3300
  172. 2710 poke56591,88
  173. 2720 poke253,vh:sys28928
  174. 2730 se=se+1:vh=vh+2
  175. 2740 ifse=10thense=1:si=1
  176. 2750 poke56591,89:poke56589,130:poke793,117
  177. 2760 ah=128:gosub3300
  178. 2770 poke56591,88
  179. 2780 poke253,vh:sys28928
  180. 2790 vh=vh+2
  181. 2800 zm=zm+1
  182. 2810 b=int(ac*3/2):rem b=zeiger in fat
  183. 2820 if(acand1)=1then2840:rem vz,f.ungerader cluster
  184. 2830 ac=peek(33280+b)+256*(15and(peek(33281+b))):goto2850
  185. 2840 ac=(peek(33280+b)+256*peek(33281+b))/16
  186. 2850 ifac=4095then2870
  187. 2860 ifvh<256then2560
  188. 2870 print#15,"ui":close15:rem motor aus
  189. 2880 rem------------------------------------------------------------------------
  190. 2890 ifdm=dgthenprint"[195][194][205]-[199][195][210]-[196]isk einlegen <[212]aste>":poke198,0:wait198,1:geta$
  191. 2900 open14,dg,15,"i
  192. 2910 [139]dg[179][177]dm[167]2930
  193. 2920 [161]#14,e1:[139]e1[179][177]0[167][160]14:[137]2890
  194. 2930 vh[178]140:[143] vektor high auf 9000
  195. 2940 [159]5,dg,5,"#2"
  196. 2950 [152]14,"m-w"[199](1)[199](1)[199](1)[199](65)
  197. 2960 [143]------------------------------------------------------------------------
  198. 2970 [152]14,"b-p: ";5 ; 0
  199. 2980 [151]253,vh:[158]29184
  200. 2990 [158]29440
  201. 3000 [152]14,"b-p: ";5 ; 0
  202. 3010 [152]14,"u2: "5 ; 0 ; tg ; sg
  203. 3020 [153]"peeklock     (NULL)rack     (NULL)ector    (NULL)ector    "zg,tg,sg,vh
  204. 3030 [132]14,e1,e2$,e3,e4
  205. 3040 [139]e1[177]1[167][153]e1;e2$;e3;e4:[128]
  206. 3050 vh[178]vh[170]1
  207. 3060 a[178]21:[139]tg[177]17[167]a[178]19:[139]tg[177]24[167]a[178]18:[139]tg[177]30[167]a[178]17
  208. 3070 sg[178]sg[170]1:zg[178]zg[170]1
  209. 3080 [139]sg[177][178]a[167]tg[178]tg[170]1:sg[178]0:[139]tg[177]35[167]3150
  210. 3090 [139]vh[179]256[167]2970
  211. 3100 [143]------------------------------------------------------------------------
  212. 3110 [160]5
  213. 3120 [152]14,"ui":[160]14
  214. 3130 [137]2440
  215. 3140 [143] ende
  216. 3150 [160]15:[159]15,dm,15,"ui":[160]15
  217. 3160 [160]14:[159]14,dg,15,"ui":[160]14
  218. 3170 [153]"right$vallen-right$(NULL) hatte sich"[194](840)"mal aufgehaengt
  219. 3180 end:rem---------------------------
  220. 3190 rem mfm fehlerkanal --------------
  221. 3200 input#15,e1$,e2$,e3$,e4$:printe1$","e2$","e3$","e4$"    ";
  222. 3210 print#15,"m-r"chr$(94)chr$(0):get#15,a$:e5=asc(a$+chr$(0)):printe5
  223. 3220 print"b7  "(e5and128)/128;f7$((e5and128)/128)
  224. 3230 print"b6  "(e5and64)/64;"[196]rive"(e5and64)/64
  225. 3240 print"b5+4"(e5and48)/16"[211]ektorlaenge"2^((e5and48)/16)*128
  226. 3250 print"b3-0"e5and15;
  227. 3260 ife5>127thenprintfm$(e5and15):goto3280
  228. 3270 printfg$(e5and15)
  229. 3280 return:rem------------------------
  230. 3290 rem mfm block lesen---------------
  231. 3300 ifsi<>0andsi<>1then3340
  232. 3310 iftr<0ortr>39then3340
  233. 3320 ifse<1orse>9then3340
  234. 3330 goto3350
  235. 3340 print"[201]llegal [212]rack/[211]ector/[211]ide"tr;se;si:goto3470
  236. 3350 a=128:ifsi=1thena=144
  237. 3360 x=5
  238. 3370 print#15,"u0"chr$(a)chr$(tr)chr$(se)chr$(1)
  239. 3380 print"[195]luster   [212]rack     [211]ector    [211]ide  [214]ect"zm"[157]"ac,tr,se,si;"   "vh
  240. 3390 print#15,"m-r"chr$(94)chr$(0):get#15,a$:e5=asc(a$+chr$(0))
  241. 3400 if(e5and14)=0then3450
  242. 3410 print"[198]ehler b.[212]r/[211]e/[211]i"tr;se;si
  243. 3420 gosub3200
  244. 3430 x=x-1:ifx>0then3370
  245. 3440 goto3470
  246. 3450 poke254,ah-3:sys28672
  247. 3460 return
  248. 3470 print#15,"ui":end:rem------------------------------------------------------
  249. 3480 poke56580,255:poke56581,255:rem ta
  250. 3490 poke56582,153:poke56583,0:rem tb
  251. 3500 poke56590,145:rem ta ein
  252. 3510 za=1  :rem zaehler f.busverzoegerun
  253. 3520 e$(0)="0":e$(1)="1"
  254. 3530 f7$(0)="[199][195][210]":f7$(1)="[205][198][205]"
  255. 3540 dimfg$(15)
  256. 3550 fg$(0)="ok"
  257. 3560 fg$(1)="ok"
  258. 3570 fg$(2)="sector not found
  259. 3580 fg$(3)[178]"no sync
  260. 3590 fg$(4)="data block not found
  261. 3600 fg$(5)[178]"data block checksum error
  262. 3610 fg$(6)="format error
  263. 3620 fg$(7)[178]"verify error
  264. 3630 fg$(8)="write protect error
  265. 3640 fg$(9)[178]"header block checksum error
  266. 3650 fg$(10)="data extends into next block
  267. 3660 fg$(11)[178]"disk id mismatch / disk change
  268. 3670 fg$(12)="-
  269. 3680 fg$(13)[178]"-
  270. 3690 fg$(14)="syntax error
  271. 3700 fg$(15)[178]"no drive present
  272. 3710 dimfm$(15)
  273. 3720 fm$(0)="ok"
  274. 3730 fm$(1)="ok"
  275. 3740 fm$(2)="sector not found
  276. 3750 fm$(3)[178]"no adress mark
  277. 3760 fm$(4)="-
  278. 3770 fm$(5)[178]"data crc error
  279. 3780 fm$(6)="format error
  280. 3790 fm$(7)[178]"verify error
  281. 3800 fm$(8)="write protect error
  282. 3810 fm$(9)[178]"header block checksum error
  283. 3820 fm$(10)="-
  284. 3830 fm$(11)[178]"disk change
  285. 3840 fm$(12)="-
  286. 3850 fm$(13)[178]"-
  287. 3860 fm$(14)="syntax error
  288. 3870 fm$(15)[178]"no drive present
  289. 3880 return
  290. 3890 rem----------------------------------------------512 byte aus mfm auslesen
  291. 3900 data169,0,133,144,162,3,138,24,101,254,133,253,160,0,132,252,173,60,3,32
  292. 3910 data177,255,169,111,32,147,255,169,77,32,168,255,169,45,32,168,255,169
  293. 3920 data82,32,168,255,169,0,32,168,255,138,32,168,255,169,0,32,168,255,32,174
  294. 3930 data255,173,60,3,32,180,255,169,111,32,150,255,169,1,238,32,208,56,229
  295. 3940 data251,208,248,32,165,255,145,252,200,208,238,32,171,255,232,224,5,144
  296. 3950 data166,165,144,41,3,208,154,96,-1
  297. 3960 rem---------------------------------------in c64 von 8000 ->90-ff kopieren
  298. 3970 data120,165,1,41,252,133,1,160,0,132,252,185,0,128,145,252,200,208,248
  299. 3980 data230,253,185,0,129,145,252,200,208,248,165,1,9,3,133,1,88,96,-2
  300. 3990 rem----------------------------------------in c64 von 90-ff->8000 kopieren
  301. 4000 data120,165,1,41,252,133,1,160,0,132,252,177,252,153,0,128,200,208,248
  302. 4010 data165,1,9,3,133,1,88,96,-3
  303. 4020 rem-----------------------------------------------zur gcr floppy schreiben
  304. 4030 data169,0,133,144,173,61,3,32,177,255,169,101,32,147,255,160,0,185,0,128
  305. 4040 data32,168,255,200,208,247,32,174,255,165,144,41,3,208,221,96,-4
  306. 4050 rem-----------------------------------cia-nmi falls bei iec-in aufgehaengt
  307. 4060 data72,138,72,152,72,169,127,141,13,221,172,13,221,48,3,76,86,254,162,8
  308. 4070 data134,198,189,112,117,157,119,2,202,16,247,76,105,254,0,0,0,0,0,0,0,82
  309. 4080 data85,78,49,48,49,48,13,0,-5
  310.